package com.lagou.homeWork3;
/*
* 准备一个 HashMap 集合，统计字符串"123,456,789,123,456"中每个数字字符串出现的次数并打印出来。
* */

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class HomeWork3 {
    public static void main(String[] args) {
        //准备一个Map集合
        Map<String,Integer> m1 = new HashMap<String, Integer>();
        //将需统计的字符串放进String对象中
        String s1 = new String("123,456,789,123,456");
        //用一个String类型的一维数组来放置s1拆分后的值，准备用来当m1的key
        String[] sa = s1.split(",");
        //判断m1的集合中是否有相同的key，没有就放置，有的话key不变，value+1。
        for (int i = 0; i < sa.length;i++){
            if(!m1.containsKey(sa[i])){
                m1.put(sa[i],1);
            }else {
                m1.put(sa[i],m1.get(sa[i])+1);
            }
        }
        System.out.println("m1 = " + m1);           //查看是否将key、value存进集合中
        //Iterator方法获取集合中所有的映射关系
        /*Set set1 = m1.entrySet();
        Iterator it1 = set1.iterator();
        while (it1.hasNext()){                      //while循环判断it1是否有值
            Map.Entry ent = (Map.Entry)it1.next();  //获取集合中键值对映射
            Object key = ent.getKey();              //获得ent中的key
            Object val = ent.getValue();            //获得ent中的value
            System.out.println(key + "出现了" + val + "次。");
        }*/
        //Set方法获取集合中所有的映射关系
        Set<Map.Entry<String,Integer>> set1 = m1.entrySet();
        for (Map.Entry<String,Integer> m2 : set1){
            System.out.println(m2.getKey() + "出现了" + m2.getValue() + "次。");
        }
    }
}
